Everything about Spanning Tree Mathematics totally explained
In the
mathematical field of
graph theory, a
spanning tree T of a
connected,
undirected graph G is a
tree composed of all the vertices and some (or perhaps all) of the edges of
G. Informally, a spanning tree of
G is a selection of edges of
G that form a tree
spanning every vertex. That is, every vertex lies in the tree, but no
cycles (or loops) are formed.
On the other
hand, every
bridge of
G must belong to
T.
A spanning tree of a connected graph
G can also be defined as a maximal set of edges of
G that contains no cycle, or as a minimal set of edges that connect all vertices.
In certain fields of graph theory it's often useful to find a
minimum spanning tree of a
weighted graph. Other optimization problems on spanning trees have also been studied, including the maximum spanning tree, the minimum tree that spans at least k vertices, the minimum spanning tree with at most k edges per vertex
(MDST), the spanning tree with the largest number of leaves (closely related to the smallest connected
dominating set), the spanning tree with the fewest leaves (closely related to the
Hamiltonian path problem), the minimum diameter spanning tree, and the minimum dilation spanning tree.
Spanning forests
A
spanning forest is a type of subgraph that generalises the concept of a spanning tree. However there are two definitions in common use. One is that a spanning forest is a subgraph that consists of a spanning tree in each
connected component of a graph. (Equivalently, it's a maximal cycle-free subgraph.) This definition is common in computer science and optimisation. It is also the definition used when discussing minimum spanning forests, the generalization to disconnected graphs of minimum spanning trees. Another definition, common in
graph theory, is that a spanning forest is any subgraph that's both a
forest (contains no cycles) and spanning (includes every vertex).
Counting spanning trees
The number
t(G) of spanning trees of a connected graph is an important
invariant. In some cases, it's easy to calculate
t(G) directly. It is also widely used in data structures in different computer languages.
For example, if
G is itself a tree, then
t(G)=1, while if
G is the
cycle graph with
n vertices, then
t(G)=n.
For any graph
G, the number
t(G) can be calculated
using
Kirchhoff's matrix-tree theorem (follow the link for an explicit example using the theorem).
Cayley's formula is a formula for the number of spanning trees in the
complete graph
with
n vertices. The formula states that
.
These formulas are also consequences of the matrix-tree theorem.
If
G is a
multigraph and
e is an edge of
G, then the number
t(G) of spanning trees of
G satisfies the
deletion-contraction recurrence
t(G)=t(G-e)+t(G/e), where
G-e is the multigraph obtained by deleting
e
and
G/e is the
contraction of
G by
e, where multiple edges arising from this contraction are not deleted.
Uniform spanning trees
A spanning tree chosen
randomly from among all the spanning trees with equal probability is called a
uniform spanning tree (UST). This model has been extensively researched in
probability and
mathematical physics.
Algorithms
The classic spanning tree algorithm,
depth-first search (DFS), is due to
Robert Tarjan. Another important algorithm is based on
breadth-first search (BFS).
Parallel algorithms typically take different approaches than BFS or DFS. Halperin and Zwick designed an optimal randomized parallel algorithm that runs in O(log n) time with high probability on EREW PRAM
(External Link
). The Shiloach-Vishkin algorithm is the basis for many parallel implementations
(External Link
). Bader and Cong's algorithm is shown to run fast in practice on a variety of graphs
(External Link
).
Further Information
Get more info on 'Spanning Tree Mathematics'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://spanning_tree__mathematics.totallyexplained.com">Spanning tree (mathematics) Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |